package ioc.di;

import ioc.Agent;
import ioc.AgentFinder;
import ioc.SpreadsheetAgentFinder;

import java.util.ArrayList;
import java.util.List;

public class HollywoodServiceWithDI {

    /**
     * 代码干净利落，只需专注本身逻辑
     * 问题：AgentFinder还是需要自己实现。
     * 所以只有自带ioc容器的di框架能真正解决问题。
     * @param finder
     * @return
     */
    public static List<Agent> getFriendlyAgents(AgentFinder finder) {
        List<Agent> agents = finder.findAllAgents();
        return filterAgents(agents, "java");
    }

    private static List<Agent> filterAgents(List<Agent> agents, String java) {
        List<Agent> list = new ArrayList<>();
        for (Agent agent : agents) {
            if (agent.getType().equals(java)) {
                list.add(agent);
            }
        }
        return list;
    }


}
